package com.briup.oagg.model.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.briup.framework.utils.common.EntityUtils;
import com.briup.framework.utils.common.StringUtil;
import com.briup.framework.utils.execption.BriupAssert;
import com.briup.framework.utils.execption.DataValidateFailedException;
import com.briup.framework.utils.sercurity.SecurityUtils;
import com.briup.oagg.model.bean.basic.LearnAlgorithm;
import com.briup.oagg.model.bean.basic.ModelTrainConfig;
import com.briup.oagg.model.bean.basic.PreprocessOperator;
import com.briup.oagg.model.bean.ext.ModelTrainConfigExt;
import com.briup.oagg.model.bean.op.TaskResult;
import com.briup.oagg.model.bean.op.TrainTaskConfig;
import com.briup.oagg.model.mapper.basic.*;
import com.briup.oagg.model.mapper.ext.ModelTrainConfigExtMapper;
import com.briup.oagg.model.service.IClassificationTrainResultService;
import com.briup.oagg.model.service.IClusterTrainResultService;
import com.briup.oagg.model.service.IModelTrainConfigService;
import com.briup.oagg.model.service.IRegressionTrainResultService;
import com.briup.oagg.model.web.vm.LayerConfig;
import com.briup.oagg.model.web.vm.LearnAlgorithmConfigVM;
import com.briup.oagg.model.web.vm.ModelTrainConfigAddVM;
import com.briup.oagg.model.web.vm.ModelTrainConfigVM;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import java.lang.reflect.Type;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.stream.Collectors;

import static com.briup.oagg.model.constants.ModelConstants.*;
import static com.briup.oagg.model.constants.ModelConstants.PublishStatus.PUBLISHED;
import static com.briup.oagg.model.constants.ModelConstants.PublishStatus.UNPULISH;
import static com.briup.oagg.model.constants.ModelConstants.TrainStatus.*;
import static com.briup.oagg.model.constants.ModelConstants.modelType.*;

/**
 * 模型训练配置信息业务逻辑接口实习类
 *
 * @author briup
 */
@Service
public class ModelTrainConfigServiceImpl extends ServiceImpl<ModelTrainConfigMapper,ModelTrainConfig> implements IModelTrainConfigService {

    @Override
    public void addTrainResult(TaskResult result) {

    }

    @Override
    public void updatePublishStatus(String trainId, Integer publishStatus) {

    }

    @Override
    public void addModelTrain(ModelTrainConfigAddVM vm) {

    }

    @Override
    public List<ModelTrainConfigVM> findByCondition(String modelType, String modelId) {
        return null;
    }

    @Override
    public ModelTrainConfigVM findByTrainId(String trainId) {
        return null;
    }

    @Override
    public void beginTrain(String trainId, List<Map<String, Object>> dataList) {

    }

    @Override
    public void deleteByTrainId(String trainId) {

    }
}
